-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
python3Packages.apache-airflow init 1.10.5 #73074
Conversation
384a337
to
92f68b9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot, must have been a lot of work! Some suggestions.
pkgs/development/python-modules/apache-airflow/pendulum-fix.patch
Outdated
Show resolved
Hide resolved
@flokli I think I covered all the comments/suggestions with the new commit. If I missed anything please let me know. Thanks in advance! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This already looks quite good! Thanks a lot. @FRidh, could you take a look as well?
Not something that should stall this PR, but @ingenieroariel do you have a NixOS module in the pipeline aswell, or some quick notes on how to get it running? It might be beneficial to have some NixOS tests that spins up airflow, and does some curl request to see it was able to do the initialization. |
Thanks @flokli I have not yet thought about the module but it makes a lot of sense to get started on that after this gets merged. Copying people from previous PRs who expressed interest in this being merged: |
@jonringer He created the package as part of #65026 and that addition is on a commit made by him that this PR respects. I could add myself too if that is best practice (I did as much in the main airflow package) but it felt rude to just retroactively claim ownership. Still want me to add myself? No problem doing so as I want to keep airflow working on unstable. |
I guess I must have overlooked that this was based upon a previous PR, keeping him there is fine, but feel free to add yourself |
I resolved the issues dealing with maintainership |
Generally when adding python-modules, it's roughly one commit = one package addition. @FRidh how strictly do you want to adhere to that role, I think there's 18 or 19 packages being added |
I squashed the commits to make porting to latest master easier, each package folder is fine but the |
I am not sure with a way this package is packaged, since you override all version requirements, how can you be sure things will work. I did a pull request a while back that used pypi2nix, it generated a large dependency file, but at least I was sure dependencies are right. |
This is a good point, I commented below the actual version we ended up choosing (based on what is available in NixOS):
I do not expect markdown, sqalchemy, werkzeug or jinja2 to make wild changes on minor updates, but for those apps that made incompatible changes (like pendulum), patches to airflow have been provided. setup.py may look strict but from experience it is always a judgement call on the last person who created a release: in our case, the nixos package maintainer. After that, we only have the test suite to protect us and hopefully some module tests in the near future for integration testing. |
If the versions of the dependencies do need diverge from whats on nixpkgs, then you can move this out of python-modules and create an application. At least there you can wrap the program with it's own pythonpath. Having more than 1 version in python-modules isn't acceptable due to how environments are created with python packages (both will be present, only 1 will get used) |
This PR does not add more than one version of any packages, it attempts to reuse what is there. Both a top level application and a python-module are included here. For my project I do need a python-module on NixOS. |
Thanks all for the comments and reviews. Should I do a one package per commit and force push the branch or is this okay as is? |
not really sure, I was hoping @FRidh would make a more opinionated stance |
d6a5d61
to
ced0c75
Compare
@jonringer I went ahead and rebased one commit per package onto latest master, preserving original autorship. |
do you mind editing your commit to be:
also, your last commit, touches a lot of files |
Includes misc fixes suggested during the PR process.
ced0c75
to
7af3a95
Compare
Done. |
The last commit, 7af3a95 touched around 10 different files, it should have been broken into ~9 commits on what packages it's bump, removing, or altering |
@jonringer Urgh, you're right. Should we revert and do a new PR? |
not entirely sure, but if there's a need to cherrypick or remove a package change, then we will have to revert that commit |
reverting, then applying the 9 commits would probably be the most proper course of action |
Sorry, lost track about this. I think reverting it causes even more noise. We probably won't backport things from here to 19.09, so it'll hopefully be fine… |
Motivation for this change
Apache Airflow is a widely used workflow tool. https://github.com/apache/airflow
Two PRs precede this one:
This PR builds on #65026 but avoids the py27 question completely by making it py3k only and patching airflow to be able to use the version of pendulum already in nixpkgs.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @